/**
 * 给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度
 * 示例1: 
 *  输入: s = "abcabcbb"
 *  输出: 3
 *  解释: 因为无重复字符的最长子串是"abc", 所以是3
 * 示例2:
 *  输入: s = "bbbb"
 *  输出: 1
 *  解释: 因为无重复字符的最长子串是"b", 所以是1
 * 示例3:
 *  输入: s = "pwwkew"
 *  输出: 3
 *  解释: 因为无重复字符的最长子串是"wke", 所以是3
 *        请注意，你的答案必须是子串的长度, "pwke"是一个子序列, 不是子串
*/
function lengthOfLongestSubstring (s) {
    if (s.length < 1) return s.length;
    let left = 0;
    let right = 1;
    let max = 0;
    while (right < s.length) {
        let temp = s.slice(left, right);
        // 判断是否符合
        if (temp.indexOf(s[right]) > -1){
            // 左侧指针是否需要移位
            left++;
            continue;
        } else {
            // 右侧指针移位
            right++;
        }
        if (right - left > max) {
            max = right - left;
        }
    }
    return max;
}

console.log("示例1:" + lengthOfLongestSubstring("abcabcbb"));
console.log("示例2:" + lengthOfLongestSubstring("bbbb"));
console.log("示例3:" + lengthOfLongestSubstring("pwwkew"))